#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QVector>

// 定义地图元素枚举类型
enum class MapElement {
    Empty,
    Obstacle
};

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    // 生成地图数据并保存为文件的函数声明
    void generateAndSaveMap(const QString& filePath);
    // 从文件加载地图数据的函数声明
    void loadMapData(const QString& filePath);

protected:
    // 重绘事件函数声明
    void paintEvent(QPaintEvent *event) override;

private:
    // 存储地图数据的二维向量
    QVector<QVector<MapElement>> mapData;
    // 单元格大小
    int cellSize;
};

#endif
